GoT (Graph of Thoughts)
https://scrapbox.io/files/6583ceda6f93490023a7aff5.png
これ何?
思考プロセスをグラフとして表現したテクニック
基本的な問題を定義し、解決のために必要な要素を列挙させ、それらの要素間の依存関係を明確にする手法。
このプロセスを通じて、モデルは具体的なアクションプランを生成し、体系的な情報から総合的な解決策を導き出す。
この手法は、複数の要素が絡み合う問題に対して特に有効で、モデルが全体像を把握しやすくなる。
背景
思考プロセスに厳格なツリー構造を課していること
これにより、プロンプト内の推論能力が制限されてしまう
制限されるとはすなわち、以下の3つ
・直線的な思考:
木の形では、一つの大きな問題から直接的に関連する小さな問題へと進むため、思考が直線的になりがち。
つまり、一つの枝から別の枝へと飛び移るような、もっと複雑で柔軟な考え方が難しくなる。
・事前に定義された構造:
木の形では、最初からどのような枝があるかがある程度定められているため、新しいアイデアや思考パターンを途中で取り入
れにくくなる。
・限定された探索範囲:
各枝を探索する際に、それぞれの枝がカバーする範囲に限りがあるため、思考の幅が制限される。
https://scrapbox.io/files/6583d5730dea7c0024d25421.png
確かに左のToTの図を見ると、1つの枝から全く別の枝へ矢印が出ていない。
制限されている。
GoTを使うことのメリット
より柔軟な思考パターン
GoTでは、思考プロセスをグラフとして表現する。
これにより、直線的な「木」の構造ではなく、より複雑で相互に関連する思考のネットワークを形成できる。
コンピュータは異なる頂点(考え)間を自由に移動し、多角的な視点から問題を探求できる。
動的で適応可能な構造:
GoTのグラフは、事前に定義された枝やルートに縛られることなく、新しい考えや情報を追加できる。
これにより、思考の進行に応じて新しい接続を作り出すことが可能になり、より適応性の高い思考プロセスが実現される
広範な探索範囲:
GoTのグラフ構造では、思考の範囲が限定されることが少なくなる。
コンピュータは異なる頂点間を自由に探索し、幅広い視点からアイデアを検討できるようになる。
人間の脳の思考回路にとても似た形となる。
GoTは、これらの特徴を活かして、より複雑で柔軟な思考プロセスをコンピュータに実現させることを目指している。
GoTを使ったプロンプトの例
**Graphs of Thoughts 問題解決プロンプト:**
問題: """ここに問題をかく"""
1. **問題分析**:
- 問題を詳細に分析し、主要な要素と相互作用を特定します。
- これらの要素をノード、相互作用をエッジとして定義します。
- ユーザーにフィードバックを求めます。
2. **グラフモデリング**:
- 上記のノードとエッジを使用して、問題をグラフ理論として表現します。
- ノードは以下の属性を持ちます:
- 情報内容
- 重要度
- 関連するサブイシュー
- エッジは以下の属性を持ちます:
- 依存関係
- 情報の流れ
- 必要に応じてループを用いて表現。多くの次数を考慮。
- グラフを作成し相互作用図をmermaid記法で表現
3. **演算処理**:
- 各ノードで特定の演算や分析を行い、その結果をエッジを通じて隣接ノードに伝播します。
- 必要に応じてノード間で情報を交換し合います。
4. **解決策の生成**:
- グラフ上での演算処理から得られた結果を集約し、最適な解決策を形成します。
- 解決策は、問題の本質、目的、そして具体的な手順を明確にします。
5. **アウトプットドキュメント**:
- 曖昧な問題
- その問題の詳細な分析
- 提案された解決策
- 必要なアクションプラン
まずはstep1を実行